#ifndef STUDENT_H
#define STUDENT_H


#include <QString>
#include <QMap>

class Student
{
public:
    Student();
    Student(QString xh, QString name);
    Student(int courseId, double courseScore);

    void setXh(QString xh);            // 设置学号
    void setName(QString name);        // 设置名字
    void setCourseScore(int courseId, double courseScore);  // 设置课程分数
    void setCharityScore(int gyf);     // 设置公益分
    void setConductScore(double cxf);  // 设置操行分
    void setTy(double ty);             // 设置体育成绩
    void setKc(double kc);             // 设置课程成绩
    void setGyf(double gyf);           // 设置公益分成绩
    void setCxf(double cxf);           // 设置操行分成绩
    void setJxj(double jxj);           // 设置奖学金成绩
    void setPm(int pm);                // 设置排名

    QString getXh();                   // 得到学号
    QString getName();                 // 得到名字
    double getCourseScore(int courseId);   // 得到课程分数
    int getCharityScore();             // 得到公益分
    double getConductScore();          // 得到操行分
    double getTy();                    // 得到体育成绩
    double getKc();                    // 得到课程成绩
    double getGyf();                   // 得到公益分成绩
    double getCxf();                   // 得到操行分成绩
    double getJxj();                   // 得到奖学金成绩
    double getPm();                    // 得到排名

private:
    QString           m_xh;            // 学号
    QString           m_name;          // 名字
    QMap<int, double> m_courseScore;   // 课程分数 <课程ID, 课程分数>
    int               m_charityScore;  // 公益分
    double            m_conductScore;  // 操行分

    double            m_ty;            // 体育成绩
    double            m_kc;            // 课程成绩
    double            m_gyf;           // 公益分成绩
    double            m_cxf;           // 操行分成绩
    double            m_jxj;           // 奖学金成绩
    int               m_pm;            // 排名
};

#endif // STUDENT_H
